//******************************************************//
//														//
//					Linea.java							//
//														//
//******************************************************//

package Misc;

import Actores.Cliente;

public abstract class Linea {
    private Integer idLinea,
            numeroLinea;
    private boolean activa;
    private Cliente titular;

    // Constructor ===================================
        
    public Linea(Integer id, Cliente c, Integer n) {
        idLinea = id;
        titular = c;
        numeroLinea = n;
        activa = false;
    }

    // Setters ========================================

    public void setNumeroLinea(Integer n) {
        numeroLinea = n;
    }
    
    public void setEstado(boolean a) {
        activa = a;
    }

    public void setTitular(Cliente c) {
        titular = c;
        activa = true;
    }

    // Getters ========================================

    public Integer getID() {
        return idLinea;
    }
    
    public Integer getNumeroLinea() {
        return numeroLinea;
    }
    
    public boolean getEstado() {
        return activa;
    }
    
    public Cliente getTitular() {
        return titular;
    }
    
    public Float getPrecio() { return 0.0f; }

    public Integer getMinutosConsumidos() { return 0;}
    
    public Integer getMinutosTotales() { return 0; }

    public Integer getMensajesConsumidos() { return 0; }

    public Integer getMensajes() { return 0; }

    public Integer getMinutos() { return 0; }

    public Float getValorMinExc() { return 0.0f; }

    public Float getValorMenExc() { return 0.0f; }

    public Float getCostoMinExc() { return 0.0f; }

    public Float getCostoMenExc() { return 0.0f; }
    
    public Integer getMinutosExcedidos() { return 0; }

    public Integer getMensajesExcedidos() { return 0; }
    
    // Otras funciones ================================ 
    
    public Linea(Integer id, Integer n) {
        this(id, null, n);
    }   
    
    public boolean sos(Integer id) {
        return idLinea == id;
    }

    @Override
    public String toString() {
        return "\nID: " + idLinea +
                "\nNumero: " + numeroLinea;
        
                //+"\nTitular: " + titular != null ? titular.toString() : "ninguno.";
    }

    public boolean sosAbono() { return false; }

    public void agregarServicio(Servicio s) {}

    public boolean eliminarServicio(Servicio s) { return false; }

    public void mostrarServicios() {}

    public void cargarTarjeta(Tarjeta tar) {}

    public void mostrarSaldo() {}  
    
    public void consumirMensajes(int cant) {}
    
    public void consumirMinutos(int cant) {}
    
    public Float calcularImporteServicios() { return 0.0f; }
}